import * as api from "@/api/permission";
//引入需要校验的路由
import allRoutes from "@/router/generateRoute";
//把recursion函数递归创建用户路由的方法引入
import recursionRoutes from "@/router/recursionRoutes";
// 动态添加路由：先引入路由
import router from "@/utils/routerGuard";
//引入动态路由
import dynamicRoute from "@/router/dynamicRoutes";
let routes = allRoutes.find((route) => route.name === "home");
export default {
  namespaced: true,
  state: {
    userMenu: [],
  },
  getters: {},
  mutations: {
    // 设置用户菜单
    SET_USER_MENU(state, payload) {
      state.userMenu = [...payload];
      // 动态添加路由，使用router.addRoue 这个方法
      dynamicRoute.children = [...payload];
      //调用添加
      router.addRoute(dynamicRoute);
    },
  },
  actions: {
    //获取远程菜单
    FETCH_MENU_LIST({ commit }) {
      return api.getMenuListApi().then((res) => {
        // console.log(res.data.menuList);
        let userMenu = recursionRoutes(res.data.menuList, routes.children);
        commit("SET_USER_MENU", userMenu);
      });
    },
  },
  modules: {},
};
